import cv2
import numpy as np
import pytest


def test1():
    #
    src = cv2.imread('test.png')

    # 弹出一个框 让你选择ROI | x,y是左上角的坐标
    x, y, w, h = cv2.selectROI(src)
    print(x, y, w, h)

    # 创建 mask，黑色图
    mask = np.zeros_like(src[:, :, 0])
    print(mask.shape)
    cv2.imshow('mask1111111111', mask)
    # 将感兴趣的区域的值设置为 1
    mask[y:y + h, x:x + w] = 255
    cv2.imshow('mask22222222222', mask)
    # 将mask与原图像做与操作，留下感兴趣的区域，其它区域变成了0
    # mask取反，得到非ROI区域 mask=1-mask
    masked_img = cv2.bitwise_and(src, src, mask=1 - mask)
    #
    cv2.imshow('img_mask', masked_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


if __name__ == '__main__':
    pytest.main(['-q', '--capture=no'])
